A process for generating a frame of three-dimensional (3D) graphics content on a computing device typically involves many intermediate operations, also referred to as “passes,” that are executed by logic circuitry such as a graphics processing unit (GPU). Each of these intermediate operations typically reads and/or writes one or more graphics resources to and/or from memory. These graphics resources are then accessed from memory and used during subsequent operations. This approach of repeatedly reading and writing graphics resources to memory may result in significant bandwidth demands on that memory. The inability of memory to accommodate such bandwidth demands is frequently a limiting factor with respect to the performance of GPUs and other graphics processing devices. In order to reduce the memory bandwidth demands associated with a 3D graphics process, graphics resources associated with that process may be compressed prior to being stored in memory. However, according to conventional techniques, compression is applied only to static, pre-generated resources, particular resource classes, and/or certain stages of the rendering pipeline.